/*
 * @Description: 
 * @Author: zouxm
 * @Date: 2021-05-19 09:34:19
 * @LastEditTime: 2021-06-29 13:56:48
 * @LastEditors: zouxm
 */
/**
 * 防抖
 */
export type Debounce = (
  fn: (...args: any[]) => void,
  wait: number,
  immediate?: boolean
) => (...args: any[]) => void;

/**
 * 节流
 */
export type Throttle = (
  fn: (...args: any[]) => void,
  wait: number
) => (...args: any[]) => void;

/**
 * 浅拷贝
 */
export type Clone = (
  obj: any,
) => any;

/**
 * 深拷贝
 */
export type CloneDeep = (
  obj: any,
  map?: WeakMap<any, any>
) => any;
